As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
When such systems increase in complexity, the responsibilities may be partitioned into more manageable pieces using a hierarchical set of subsystems. These subsystems may be constructed such that each subsystem provides a service to one or more higher level subsystems and builds on the services provided by one or more lower level subsystems effectively forming a software stack of subsystems.
Testing of systems has traditionally been carried out in two ways: manipulating external data; and using a debugger, stopping the code, and manipulating the data during runtime. Such traditional testing may be suitable for testing normal system operations. However, testing error conditions introduced in varying levels of a hierarchical system is difficult using traditional error simulation because the generation of errors in a multiple hierarchy architecture is difficult to control and may vary with each level's device type.
Thus, there is a need in the art for better simulation of failure conditions within a system of hierarchical subsystems. More particularly, there is a need in the art for, better simulation of failure conditions within a system of hierarchical subsystems by adding an additional function, referred to herein as an IORP Modifier, to the IORP paradigm for processing IO.